# Module subdirectories

# Ports
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/Cycle/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/Fatal/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/Ping/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/PolyIf/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/Sched/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/Seq/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/WatchDog/")

# Components
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/ActiveLogger/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/ActiveRateGroup/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/AssertFatalAdapter/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/BufferAccumulator/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/BufferManager/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/BufferLogger/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/BufferRepeater/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/ComLogger/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/ComQueue/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/ComSplitter/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/ComStub/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/CmdDispatcher/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/CmdSequencer/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/CmdSplitter/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/Deframer/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/DpCatalog/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/DpManager/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/DpPorts/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/DpWriter/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/FatalHandler/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/FileDownlinkPorts/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/FileDownlink/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/FileManager/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/FileUplink/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/GenericHub/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/Framer/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/FramingProtocol/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/Health/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/PassiveRateGroup")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/PolyDb/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/PrmDb/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/RateGroupDriver/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/StaticMemory/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/TlmChan/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/TlmPacketizer/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/SystemResources/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/Ports/VersionPorts")

# Text logger components included by default, 
# but can be disabled if FW_ENABLE_TEXT_LOGGING=0 is desired.
if (FPRIME_ENABLE_TEXT_LOGGERS)
	add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/PassiveConsoleTextLogger/")
	add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/ActiveTextLogger/")
endif()

add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/PosixTime/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/LinuxTimer/")
add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/Version/")